/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.flowernet.dao;

import br.com.flowernet.entity.Pedido;
import java.util.LinkedList;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author Felipe
 */
@Stateless
public class PedidoDAO {

    @PersistenceContext(name = "FlowerNetPU")
    private EntityManager em;

    public Long addPedido(Pedido pedido) {
        em.persist(pedido);
        return pedido.getIdPedido();
        
    }

    public Long removePedido(Pedido pedido) {
        pedido = em.getReference(Pedido.class, pedido.getIdPedido());
        em.remove(pedido);
        return pedido.getIdPedido();
    }

    public Long updatePedido(Pedido pedido) {
        em.merge(pedido);
        return pedido.getIdPedido();
    }

    public void removePedidoById(long idPedido) {
        Pedido pedido = em.find(Pedido.class, idPedido);
        em.remove(pedido);
    }

    public List<Pedido> getAllPedido() {

        List<Pedido> pedidos = new LinkedList<Pedido>();
        
        String jpql = "SELECT A FROM Pedido A";
        Query qr = em.createQuery(jpql);
        pedidos = qr.getResultList();
        return pedidos;

    }
    
      public Pedido getPedido(long idPedido) {
        
        Pedido toReturn = em.find(Pedido.class, idPedido);
        return toReturn;
    }
      
}
